home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 November / Chip_2004-11_cd1.bin / zkuste / planetaria / download / celestia / celestia-win32-1.3.2.exe / {app} / start.cel < prev    next >
Encoding:
Celestia script  |  2004-07-10  |  16.2 KB  |  317 lines

  1. {
  2. # ... Beginning of script
  3.  
  4. #****************************************************************************
  5. #                                                                           *
  6. #                 START.CEL - Startup script for Celestia                   *
  7. #                             (version 2.1)                                 *
  8. #                                                                           *
  9. #---------------------------------------------------------------------------*
  10. #                                                                           *
  11. #  This script is run automatically, every time you run Celestia.           *
  12. #                                                                           *
  13. #  NOTE: Do not remove the curly braces located as the first and last       *
  14. #        characters of this file. They define this file as a CEL script.    *
  15. #                                                                           *
  16. #  You can modify this script in many ways, to suit your specific needs.    *
  17. #  Simply uncomment one or more of the lines below, as noted. Each line or  *
  18. #  section of code contains comments describing what it does. To UNcomment  *
  19. #  a line of code, simply remove the "#" character from the beginning of    *
  20. #  that line.                                                               *
  21. #                                                                           *
  22. #  If you decide to modify this script, please copy it to a safe place      *
  23. #  BEFORE you begin, so you will have it to refer to at a later date.       *
  24. #                                                                           *
  25. #****************************************************************************
  26.  
  27.   preloadtex { object "Sol/Earth" }
  28.   preloadtex { object "Sol/Earth/Moon" }
  29.  
  30.   select {object "Sol"}
  31.   goto   {time 3.0 distance 30}
  32.   wait   {duration 3.0}
  33.  
  34.   select {object "Sol/Earth"}
  35.   follow {}
  36.   goto   {time 3.0  distance 6.0}
  37.   wait   {duration 2.0}
  38.  
  39.   print  {text "Welcome to Celestia!"  row -3  column 1  duration 3}
  40.   wait   {duration 3.0}
  41.  
  42. #****************************************************************************
  43. #  The lines of code above are the entire start.cel script. Below, is a     *
  44. #  description of what each command does. We go to Sol first, so that when  *
  45. #  we go to Earth, it will be displaying it's sunny side, regardless of     *
  46. #  what your local time might be...                                         *
  47. #                                                                           *
  48. #  preloadtex: Tells Celestia to load the textures for the named object.    *
  49. #          Otherwise Celestia would load the texture when the object        *
  50. #          comes into view, which would be noticeable as a small delay.     *
  51. #                                                                           *
  52. #  select: Tells Celestia what object (planet, moon, spacecraft, etc.) to   *
  53. #          define as the currently selected object. Sol defines our solar   *
  54. #          system, the "/" character is merely a hierarchy divider, Earth   *
  55. #          is the object we want to select. If you wanted to select our     *
  56. #          Moon, the select command would look like the following:          *
  57. #            select {object "Sol/Earth/Moon"}                               *
  58. #                                                                           *
  59. #  goto:   Tells Celestia to travel to the currently selected object, just  *
  60. #          like pressing the "G" key on the keyboard. The time parameter    *
  61. #          defines how many seconds it should take to travel there. The     *
  62. #          distance parameter defines how far away from the object to be    *
  63. #          positioned, in units of the object's radius, plus 1. For         *
  64. #          example, if the object's radius is 10000 km, and you specify     *
  65. #          6.0 for distance, you will be positioned 50000 km from the       *
  66. #          center of the object.                                            *
  67. #                                                                           *
  68. #  wait:   Since the goto command is telling Celestia to take some time to  *
  69. #          do something, we need to give Celestia that same amount of time  *
  70. #          to actually DO it. When going to Sol, the wait command tells     *
  71. #          Celestia to wait for 3 seconds while the goto takes place (for   *
  72. #          3 seconds). The duration parameter value is normally the same    *
  73. #          as the time parameter in the goto command. However, there are    *
  74. #          always exceptions (grin).                                        *
  75. #                                                                           *
  76. #          When we are going to Earth, the wait command after the goto,     *
  77. #          waits for only 2 seconds. The next command is a print command,   *
  78. #          which displays some text on the screen and has another wait      *
  79. #          command after it, that waits for another 3 seconds. It's all     *
  80. #          just a matter of timing. The goto command allows us to display   *
  81. #          some text on-screen WHILE it is executing. So, we simply make    *
  82. #          sure that the total number of wait duration values, listed       *
  83. #          after a goto, adds up to AT LEAST the time value specified in    *
  84. #          the goto command. It can be longer, if desired.                  *
  85. #                                                                           *
  86. #  follow: Tells Celestia to follow the selected object through space,      *
  87. #          just like pressing the "F" key on the keyboard. You could        *
  88. #          replace the follow {} command with synchronous {}, which allows  *
  89. #          you to remain in a stationary, or geosynchronous orbit above     *
  90. #          the selected object.                                             *
  91. #                                                                           *
  92. #   print: Tells Celestia to display (print) some text on the screen. The   *
  93. #          text parameter defines the text to be displayed. The row         *
  94. #          parameter defines how many rows from the bottom of the window to *
  95. #          start displaying the text at. The column parameter defines how   *
  96. #          many columns from the left edge of the window to start           *
  97. #          displaying the text. The duration parameter defines how many     *
  98. #          seconds the text should be displayed on the screen. Which is     *
  99. #          then followed by the wait command, as described above.           *
  100. #****************************************************************************
  101.  
  102.  
  103. #****************************************************************************
  104. #  If you want to be positioned above YOUR specific location on Earth, use  *
  105. #  the gotolonglat command shown below. Step-by-step instructions...        *
  106. #                                                                           *
  107. #  * Copy the entire line of code.                                          *
  108. #                                                                           *
  109. #  * Paste it below the "goto" command above.                               *
  110. #                                                                           *
  111. #  * Remove the "#" character at the beginning of the line. This UNcomments *
  112. #    the line of code so it will be executed.                               *
  113. #                                                                           *
  114. #  * Add a "#" character to the beginning of the original goto command.     *
  115. #    This turns the line of code into a comment, so it will NOT be run.     *
  116. #                                                                           *
  117. #  * Change the longitude and latitude values to those of your location.    *
  118. #                                                                           *
  119. #  * Since you are going to a specific position on the Earth, it might not  *
  120. #    be daytime there, so you could comment-out the following lines of      *
  121. #    code by adding a "#" character to the beginning of each line...        *
  122. #      select {object "Sol"}                                                *
  123. #      goto   {time 3.0 distance 30}                                        *
  124. #      wait   {duration 3.0}                                                *
  125. #    If you WANT to display your location in the daytime, use the time      *
  126. #    command described next.                                                *
  127. #****************************************************************************
  128.  
  129. #  gotolonglat {time 5.0  distance 4.0  longitude 0.0  latitude 0.0}
  130.  
  131.  
  132. #****************************************************************************
  133. #  If you would like Celestia to always start at a specific date/time, use  *
  134. #  the time command, as shown below.                                        *
  135. #                                                                           *
  136. #  WARNING: Starting Celestia with a pre-determined date/time requires that *
  137. #           you physically press the "!" (exclamation mark) key in order to *
  138. #           RESET the time to "current time", whenever you want to do some  *
  139. #           exploring -- IF the actual time makes a difference.             *
  140. #                                                                           *
  141. #  Step-by-step instructions...                                             *
  142. #                                                                           *
  143. #  * Determine if you want to set the date via a calendar UTC date/time     *
  144. #    string, or a Julian day (see below).                                   *
  145. #                                                                           *
  146. #  * Copy the one line of code with the time command you want to use.       *
  147. #                                                                           *
  148. #  * Paste it above the "goto" command above (top of file).                 *
  149. #                                                                           *
  150. #  * Remove the "#" character at the beginning of the line. This UNcomments *
  151. #    the line of code so it will be executed.                               *
  152. #                                                                           *
  153. #  * Change the date/time value to YOUR required date/time.                 *
  154. #****************************************************************************
  155.  
  156. # Set the time via a calendar UTC date/time string...
  157. #  time { utc "2003-08-11T09:29:24.0000" }
  158. #              YYYY-MM-DDTHH:MM:SS.SSSS
  159. #  Note the "T" .........^ ... (this is required)
  160.  
  161. # Set the time via a Julian day value...
  162. #  time { jd JulianDate }
  163. #    U.S. Navy Calendar Date/Time to Julian Date/Time converter:
  164. #    http://aa.usno.navy.mil/data/docs/JulianDate.html
  165.  
  166.  
  167. #****************************************************************************
  168. #  The commands listed below allow you to define several of Celestia's      *
  169. #  settings, that will be set every time you start Celestia. Modify any of  *
  170. #  the settings you want to.                                                *
  171. #****************************************************************************
  172.  
  173. # Field of View (UNcomment / modify to meet your needs)...
  174. # Default is 25 degrees, at a screen resolution of 1024 x 768
  175. #  set {name "FOV" value 25.0}
  176.  
  177.  
  178. # Ambient light level (UNcomment / modify to meet your needs)...
  179. # 0.0 to 0.5 is a good Lo-Hi range
  180. #  set {name "AmbientLightLevel" value 0.1}
  181.  
  182.  
  183. # Faintest visible star magnitude (brightness)...
  184. # (UNcomment / modify to meet your needs)
  185. # Celestia UI: 0.8 to 15.2, default is 6.0
  186. #
  187. #  setvisibilitylimit {magnitude 6.0}
  188.  
  189.  
  190. # Faintest auto-magnitude brightness, at 45 degrees, Default is 8.5...
  191. # (UNcomment / modify to meet your needs)
  192. #  setfaintestautomag45deg {magnitude 8.5}
  193.  
  194.  
  195. # Items to be displayed (rendered):
  196. # Do NOT render the following objects (UNcomment to suit your needs)...
  197. #  renderflags {clear "atmospheres"}
  198. #  renderflags {clear "automag"}
  199. #  renderflags {clear "boundaries"}
  200. #  renderflags {clear "cloudmaps"}
  201. #  renderflags {clear "comettails"}
  202. #  renderflags {clear "constellations"}
  203. #  renderflags {clear "eclipseshadows"}
  204. #  renderflags {clear "galaxies"}
  205. #  renderflags {clear "grid"}
  206. #  renderflags {clear "markers"}
  207. #  renderflags {clear "nightmaps"}
  208. #  renderflags {clear "orbits"}
  209. #  renderflags {clear "planets"}
  210. #  renderflags {clear "pointstars"}
  211. #  renderflags {clear "ringshadows"}
  212. #  renderflags {clear "stars"}
  213. #  renderflags {clear "partialtrajectories"}
  214.  
  215.  
  216. # Items to be displayed (rendered):
  217. # DO render the following objects (UNcomment to suit your needs)...
  218. #  renderflags {set "atmospheres"}
  219. #  renderflags {set "automag"}
  220. #  renderflags {set "boundaries"}
  221. #  renderflags {set "cloudmaps"}
  222. #  renderflags {set "comettails"}
  223. #  renderflags {set "constellations"}
  224. #  renderflags {set "eclipseshadows"}
  225. #  renderflags {set "galaxies"}
  226. #  renderflags {set "grid"}
  227. #  renderflags {set "markers"}
  228. #  renderflags {set "nightmaps"}
  229. #  renderflags {set "orbits"}
  230. #  renderflags {set "planets"}
  231. #  renderflags {set "pointstars"}
  232. #  renderflags {set "ringshadows"}
  233. #  renderflags {set "stars"}
  234. #  renderflags {set "partialtrajectories"}
  235.  
  236.  
  237. # Text labels:
  238. # Do NOT label the following objects (UNcomment to suit your needs)...
  239. #  labels {clear "asteroids"}
  240. #  labels {clear "constellations"}
  241. #  labels {clear "galaxies"}
  242. #  labels {clear "moons"}
  243. #  labels {clear "planets"}
  244. #  labels {clear "spacecraft"}
  245. #  labels {clear "stars"}
  246.  
  247.  
  248. # Text labels:
  249. # DO label the following objects (UNcomment to suit your needs)...
  250. #  labels {set "asteroids"}
  251. #  labels {set "constellations"}
  252. #  labels {set "galaxies"}
  253. #  labels {set "moons"}
  254. #  labels {set "planets"}
  255. #  labels {set "spacecraft"}
  256. #  labels {set "stars"}
  257.  
  258.  
  259. # Marker control:
  260. # Unmark any objects that are currently Marked and disable Marker display...
  261. # (UNcomment to suit your needs)
  262. #  unmarkall { }
  263.  
  264.  
  265. # Minimum orbit diameter to be rendered (in pixels)...
  266. # (UNcomment / modify  to suit your needs)
  267. #  set {name "MinOrbitSize"  value 1.0}
  268.  
  269.  
  270. # Furthest visible star distance, default is 1000000...
  271. # (UNcomment / modify to suit your needs)
  272. #  set {name "StarDistanceLimit"  value 1000000}
  273.  
  274.  
  275. # Time rate (1x, 100x, 1000x, etc.)...
  276. # (UNcomment / modify to suit your needs)
  277. #    Negative value = Reverse Time
  278. #               0   = Pause Time
  279. #               1.0 = Real Time (default)
  280. #            1000.0 = Good moon orbit motion
  281. #
  282. #  timerate {rate 1.0}
  283.  
  284.  
  285. #****************************************************************************
  286. #  If you are using large textures, you can have Celestia pre-load them     *
  287. #  into your graphics card memory by listing them below.                    *
  288. #****************************************************************************
  289. # Examples...
  290. #  preloadtex {object "earth.*"}
  291. #  preloadtex {object "earth.png"}
  292.  
  293.  
  294. #****************************************************************************
  295. #  orbit is a fun command to play with. The axis is specified in [X Y Z]    *
  296. #  order, and each axis can be either 0 or 1. rate = how fast, duration =   *
  297. #  number of seconds. Just make sure you have an object selected.           *
  298. #****************************************************************************
  299. #  orbit {axis [0 1 0]  rate 10.0  duration 7.0}
  300.  
  301.  
  302. #****************************************************************************
  303. #  To learn more about scripting in Celestia, visit:                        *
  304. #                                                                           *
  305. #   * Scripting forum: (http://www.shatters.net/forum/viewforum.php?f=9)    *
  306. #   * Don G's Celestia page: (http://www.donandcarla.com/Celestia/)         *
  307. #   * Harald's Celestia page: (http://www.h-schmidt.net/celestia/)          *
  308. #                                                                           *
  309. #  Don G's page includes a guide for CEL scripting. Harald's page includes  *
  310. #  a guide for CELX (Lua) scripting. Both also have example scripts and     *
  311. #  other goodies.                                                           *
  312. #****************************************************************************
  313.  
  314.  
  315. # End of script...
  316. }
  317.